# OpenAPI version identifier - required for OpenAPI 3.0 domains
# (c) Elexon 2022, 2023, 2024
#
# MMHS - Data Integration Platform 
# RealCommonBlocks
#
# ----- update -----------------------------------------------------------------------
# Jan 2024
# Support release 1.7 
#
# ------------------------------------------------------------------------------------
# Change history
# ====================================================================================
# Ver   Date           Ref.    Description
# ------------------------------------------------------------------------------------
# 1.8   22/03/2024            Support new IR8 release  
#       22/03/2024   DIN-875  Tidy up of naming and types
# 1.7.1 27/02/2024            Support new release  
#       27/02/2024   DIN-905  B033 block meterManufacturer renamed in the 'required' properties
# 1.7   12/01/2024            Support new release
#       18/01/2024   DIN-844  Additional blocks for CR023 
#       18/01/2024   DIN-788  Added block B098
#       19/01/2024   DIN-864  Rename DI-849, DI-048
# 1.6   19/10/2023            Support new release
#                    DIN-684  REP003A - blocks R9015A, R9016A & R9020A below for REP003A are new   
# 1.5.1 09/10/2023            Support new release
#                    DIN 722  Remove Recipient Roles from A0.always object
# 1.5   26/09/2023   DIN-667, DIN-656, DIN-655, DIN-640, DIN-641
# 1.4   25/07/2023   DIN-567, 510, 513, 515, 532, 547, 571 - IR4 updates
#                             CR 19 = REP900 CR27 = REP901
# 1.2   15/05/2023            Further minor ammendments from reviews
# 1.1 - 14/03/2023            All items within blocks are required (align with non nullable change)
# 1.0 - 17/02/2023            Align with DAG signoff
# 0.4   01/02/2023            Add MPID to numerous blocks
# 0.4   25/01/2023            Fix a few typos, ammned required fields for several blocks 
#                             and comment out EZ name 
# 0.3   04/11/2022            Add required elements to the blocks that were missing them them 
#       03/11/2022            Add DI-166 "Supplier Consumption Amendment Reason Code" to B047
#       October 22            Minor changes (non structural) to A0 and M0 blocks
# 0.2 - September 22          Updates following first MHHS Programme review - multiple updates
# 0.1 - August 22             Sent for first MHHS Programme Review
# ====================================================================================


openapi: 3.0.0
info:
  title: Real Common Blocks
  description: Real common blocks 
  version: '1.8'
  

# Dictionary items below:
components:
    
  schemas:
# Common blocks

    S1:
      description: Sender Common block
      type: object
      additionalProperties:
          false        
      properties:
        environmentTag:
          $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-991-Environment-Tag'
        subText:
          $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-977-SubText'
        senderUniqueReference : 
          $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-995-Sender-Unique-Reference'
        senderTimestamp :
          $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-998-Sender-Timestamp'
        senderDIPID :
          $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-997-Participant-Sender-DIPID'
        senderRoleID : 
          $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-984-Sender-Role-ID'
        senderCorrelationID:
          $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-985-Sender-Correlation-ID'  
        DIPConnectionProviderID:
          $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-996-DIP-Connection-Provider-DIPID'

      required: 
        - environmentTag
        - subText
        - senderUniqueReference
        - senderTimestamp  # DIN-448
        - senderDIPID
        - senderCorrelationID
        - DIPConnectionProviderID
        - senderRoleID  # DIN-448


    D0:
      description: DIP Block
      type: object
      additionalProperties:
          false        
      properties:           
        transactionID:
          $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataTypes/1.8#/components/schemas/DT-014-DIPTransactionID'
        transactionTimestamp:
          $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataTypes/1.8#/components/schemas/DT-003-DateTime'
        publicationID: 
          $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-986-Publication-ID'
        initialCorrelationID:
          $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataTypes/1.8#/components/schemas/DT-011N-CorrelationID'
        replayIndicator:
          $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-988-Replay-Indicator'
        serviceTicketURL:
# added v0.2 
          $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-978-Service-Ticket-URL'

      required:
        - transactionID
        - transactionTimestamp
        - publicationID
        - initialCorrelationID
        - replayIndicator
        - serviceTicketURL
          


 # parameters below set by the Sender in response to an initial message 
    R0:
      description: Response Block
      type: object
      additionalProperties:
          false        
      properties:
        responseCode:
            $ref:  'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-979-Response-Code' 
        responseMessages:
          description: Response message outcomes
          type: array
          items:
            $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-980-Status-Error-Messages'

      required:
        - responseCode
        - responseMessages


    A0:
      description: Addressing block
      type : object
      additionalProperties:
          false        
      properties:
        primaryRecipients:
          description: Primary Recipient - array of Ids; set by Sender
          type : array
          items: 
            $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataTypes/1.8#/components/schemas/DT-006N-DIPParticipantID'
        secondaryRecipients:
          description: Secondary Recipient - array of Ids; set by DIP
          type : array
          items: 
            $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataTypes/1.8#/components/schemas/DT-006N-DIPParticipantID'
        always:
          description: Always Recipient - array of Ids; set by DIP
          type : array
# DIN 722 changes below:
#          nullable: false
          items: 
#            anyOf:
#              - $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataTypes/1.8#/components/schemas/DT-009N-DIPParticipantRole'
              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataTypes/1.8#/components/schemas/DT-006N-DIPParticipantID'
      required:
        - primaryRecipients
        - secondaryRecipients
        - always


    M0: 
        description: MPAN Core
        type: object
        additionalProperties:
            false        
        properties:
          MPANCore:
            $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-063-MPAN-Core'
          distributorDIPID:
            $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-108-Distributor-DIP-ID'
          GSPGroupID:
            $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-037-GSP-Group-ID'

        required:
          - MPANCore
          - distributorDIPID
          - GSPGroupID
          
    M1: 
        description: Principal MPAN 
        type: object
        additionalProperties:
            false        
        properties:
          principalMPAN:
            $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-073-Principal-MPAN'
          distributorDIPID:
            $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-108-Distributor-DIP-ID'
          GSPGroupID:
            $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-037-GSP-Group-ID'

        required:
          - principalMPAN
          - distributorDIPID
          - GSPGroupID

              

    P01: 
        description: Publication Info
        type: object
        additionalProperties:
            false        
        properties:
            publicationDescription:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-960-Publication-Description'
            publicationVersionID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-961-Publication-Version-ID'
            publicationDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-962-Publication-Date'
        required:
            - publicationDescription
            - publicationVersionID
            - publicationDate
            
    P02: 
        description: Distribution Variant
        type: object
        additionalProperties:
            false        
        properties:
            distributionVariantID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-963-Distribution-Variant-ID'
            distributionVariantName:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-964-Distribution-Variant-Name'
            distributionVariantDescription:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-965-Distribution-Variant-Description'
            distributionVariantVersionID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-966-Distribution-Variant-Version-ID'
            distributionVariantPublicationDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-967-Distribution-Variant-Publication-Date'
            distributionVariantFormat:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-968-Distribution-Variant-Format'
            distributionDeliveryFormat:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-969-Distribution-Delivery-Format'
            distributionDeliveryURI:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-970-Distribution-Delivery-URI'
            additionalInformation:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-120-Additional-Information'

        required:
            - distributionVariantID
            - distributionVariantName
            - distributionVariantDescription
            - distributionVariantVersionID
            - distributionVariantPublicationDate
            - distributionVariantFormat
            - distributionDeliveryFormat
            - distributionDeliveryURI
            - additionalInformation

    P03:
          description: Compressed report object for ECS reports
          type: object
          required:
            - compressedReport
          additionalProperties:
              false
          properties:
            compressedReport:
              description: Compressed 64 Bit binary encoded report
              type: string
              format: byte



    B001: 
        description: GSP Effective From 
        type: object
        additionalProperties:
            false        
        properties:
            GSPGroupEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-036-GSP-Group-Effective-From-Date'
        required:
            - GSPGroupEffectiveFromDate


    B002: 
        description: Incoming Supplier Information
        type: object
        additionalProperties:
            false        
        properties:
            incomingSupplierDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-803-Incoming-Supplier-DIP-ID'
            incomingSupplierMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-200-Incoming-Supplier-MPID'
            supplierEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-086-Supplier-Effective-From-Date'
        required:
            - incomingSupplierDIPID
            - incomingSupplierMPID
            - supplierEffectiveFromDate

    B003: 
        description: Outgoing Supplier Information
        type: object
        additionalProperties:
            false        
        properties:
            outgoingSupplierDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-805-Outgoing-Supplier-DIP-ID'
            outgoingSupplierMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-201-Outgoing-Supplier-MPID'
            supplierEffectiveToDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-121-Supplier-Effective-To-Date'
        required:   
          - outgoingSupplierDIPID
          - outgoingSupplierMPID
          - supplierEffectiveToDate
                
    B004: 
        description: MPAN CSS Dom Indicator
        type: object
        additionalProperties:
            false        
        properties:
            domesticPremiseIndicator:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-030-Domestic-Premise-Indicator'
            domesticPremiseIndicatorEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-032-Domestic-Premise-Indicator-Effective-From-Date'
        required:
            - domesticPremiseIndicator
            - domesticPremiseIndicatorEffectiveFromDate
            
    B005: 
        description: Incumbent/Outgoing Service Providers
        type: object
        additionalProperties:
            false        
        properties:
            currentMeteringServiceDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-809-Current-Metering-Service-DIP-ID'
            currentMeteringServiceMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-207-Current-Metering-Service-MPID'
            currentDataServiceDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-811-Current-Data-Service-DIP-ID'
            currentDataServiceMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-208-Current-Data-Service-MPID'
                

        required:
            - currentMeteringServiceDIPID   
            - currentMeteringServiceMPID
            - currentDataServiceDIPID
            - currentDataServiceMPID
                
    B006: 
        description: CDC Info
        type: object
        additionalProperties:
            false        
        properties:
            customerDirectContractMeteringService:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-021-Customer-Direct-Contract-Metering-Service'
            customerDirectContractMeteringServiceDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-140-Customer-Direct-Contract-Metering-Service-DIP-ID'
            customerDirectContractDataService:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-022-Customer-Direct-Contract-Data-Service'
            customerDirectContractDataServiceDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-138-Customer-Direct-Contract-Data-Service-DIP-ID'
        required:
            - customerDirectContractDataService
            - customerDirectContractMeteringServiceDIPID
            - customerDirectContractMeteringService
            - customerDirectContractDataServiceDIPID
          
    B007: 
        description: New SP Outcome
        type: object
        additionalProperties:
            false        
        properties:
            responseCode:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-979-Response-Code'
            proposedAppointmentResponseCode:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-143-Proposed-Appointment-Response-Code'
        required: 
            - responseCode
            - proposedAppointmentResponseCode
                
    B008: 
        description: Metering Service Deappointment Details
        type: object
        additionalProperties:
            false        
        properties:
            deAppointedMeteringServiceDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-813-De-Appointed-Metering-Service-DIP-ID'
            deAppointedMeteringServiceMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-202-De-Appointed-Metering-Service-MPID'
            meteringServiceEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-061-Metering-Service-Effective-From-Date'
            meteringServiceEffectiveToDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-815-Metering-Service-Effective-To-Date'
            deAppointmentReasonCode:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-819-De-Appointment-Reason-Code'
        required:
            - deAppointedMeteringServiceDIPID
            - deAppointedMeteringServiceMPID
            - meteringServiceEffectiveFromDate
            - meteringServiceEffectiveToDate
            - deAppointmentReasonCode    
            
    B009: 
        description: Data Service DeAppointment Details
        type: object
        additionalProperties:
            false        
        properties:
            deAppointedDataServiceDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-816-De-Appointed-Data-Service-DIP-ID'
            deAppointedDataServiceMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-203-De-Appointed-Data-Service-MPID'
            dataServiceEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-023-Data-Service-Effective-From-Date'
            dataServiceEffectiveToDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-818-Data-Service-Effective-To-Date'
            deAppointmentReasonCode:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-819-De-Appointment-Reason-Code'
        required:
            - deAppointedDataServiceDIPID
            - deAppointedDataServiceMPID
            - dataServiceEffectiveFromDate
            - dataServiceEffectiveToDate
            - deAppointmentReasonCode

        
    B010: 
        description: Metering Service Incoming Service Details
        type: object
        additionalProperties:
            false        
        properties:
            incomingMeteringServiceDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-822-Incoming-Metering-Service-DIP-ID'
            incomingMeteringServiceMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-204-Incoming-Metering-Service-MPID'
            incomingMeteringServiceEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-824-Incoming-Metering-Service-Effective-From-Date'
        required:
          - incomingMeteringServiceDIPID
          - incomingMeteringServiceMPID
          - incomingMeteringServiceEffectiveFromDate


    B011: 
        description: DataService Incoming Service Details
        type: object
        additionalProperties:
            false        
        properties:
            incomingDataServiceDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-825-Incoming-Data-Service-DIP-ID'
            incomingDataServiceMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-205-Incoming-Data-Service-MPID'
            incomingDataServiceEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-827-Incoming-Data-Service-Effective-From-Date'
        required:
          - incomingDataServiceDIPID
          - incomingDataServiceMPID
          - incomingDataServiceEffectiveFromDate

    B012: 
        description: Service Provider Appointment Requesting Supplier 
        type: object
        additionalProperties:
            false        
        properties:
            serviceProviderAppointmentRequestingSupplierDIPID:         
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-847-Service-Provider-Appointment-Requesting-Supplier-DIP-ID'
            serviceProviderAppointmentRequestingSupplierMPID:         
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-206-Service-Provider-Appointment-Requesting-Supplier-MPID'
                                                                                                              
        required:
          - serviceProviderAppointmentRequestingSupplierDIPID
          - serviceProviderAppointmentRequestingSupplierMPID

    B013: 
        description: CSS Registration Request Id
        type: object
        properties:
            CSSRegistrationID: # DIN-864
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-849-CSS-Registration-ID'
        required:
          - CSSRegistrationID
          
    B014: 
        description: Metering Service Active
        type: object
        additionalProperties:
            false        
        properties:
            incomingMeteringServiceDIPID:                                                        
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-822-Incoming-Metering-Service-DIP-ID'
            incomingMeteringServiceEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-824-Incoming-Metering-Service-Effective-From-Date'
            incomingMeteringServiceMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-204-Incoming-Metering-Service-MPID'
            contractReferenceMeteringService:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-019-Contract-Reference-Metering-Service'
            appointmentScenario:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-800-Appointment-Scenario'
        required:
          - incomingMeteringServiceDIPID
          - incomingMeteringServiceEffectiveFromDate
          - incomingMeteringServiceMPID
          - contractReferenceMeteringService
          - appointmentScenario
          

                
    B015: 
        description: DataService Incoming (Active)
        type: object
        additionalProperties:
            false        
        properties:
           incomingDataServiceMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-205-Incoming-Data-Service-MPID'        
           incomingDataServiceDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-825-Incoming-Data-Service-DIP-ID'
           incomingDataServiceEffectiveFromDate:
               $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-827-Incoming-Data-Service-Effective-From-Date'     
           contractReferenceDataService:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-020-Contract-Reference-Data-Service'
           appointmentScenario:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-800-Appointment-Scenario'
           traditionalFallBackReadFrequency:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-126-Traditional-Fall-Back-Read-Frequency'
        
        required:
          - incomingDataServiceMPID
          - incomingDataServiceDIPID
          - incomingDataServiceEffectiveFromDate
          - contractReferenceDataService
          - appointmentScenario
          - traditionalFallBackReadFrequency
          
                
    B016: 
        description: MeteringService Partner Service
        type: object
        additionalProperties:
            false        
        properties:
            incomingMeteringServiceDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-822-Incoming-Metering-Service-DIP-ID'
            incomingMeteringServiceMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-204-Incoming-Metering-Service-MPID'
            incomingMeteringServiceEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-824-Incoming-Metering-Service-Effective-From-Date'
        required:
          - incomingMeteringServiceDIPID
          - incomingMeteringServiceMPID
          - incomingMeteringServiceEffectiveFromDate
        
                
    B017: 
        description: Data Service Partner Service
        type: object
        additionalProperties:
            false        
        properties:
            incomingDataServiceDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-825-Incoming-Data-Service-DIP-ID'
            incomingDataServiceMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-205-Incoming-Data-Service-MPID'
            incomingDataServiceEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-827-Incoming-Data-Service-Effective-From-Date'
        required:
          -  incomingDataServiceDIPID
          -  incomingDataServiceMPID
          -  incomingDataServiceEffectiveFromDate
        

    B018: 
        description: SDS Nominated MDR
        type: object
        additionalProperties:
            false        
        properties:
            SDSNominatedMDRDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-839-SDS-Nominated-MDR-DIP-ID'
            SDSNominatedMDRMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-216-SDS-Nominated-MDR-MPID'
            SDSNominatedMDRRequestedEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-841-SDS-Nominated-MDR-Requested-Effective-From-Date'
        required:
          - SDSNominatedMDRDIPID
          - SDSNominatedMDRMPID
          - SDSNominatedMDRRequestedEffectiveFromDate
          
    B019: 
        description: Assigned MDR
        type: object
        additionalProperties:
            false        
        properties:
            assignedMDRDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-842-Assigned-MDR-DIP-ID'
            assignedMDRMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-209-Assigned-MDR-MPID'
            assignedMDREffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-844-Assigned-MDR-Effective-From-Date'
        required:
          - assignedMDRDIPID
          - assignedMDRMPID
          - assignedMDREffectiveFromDate

    B020: 
        description: MeteringService Cust Direct Set
        type: object
        additionalProperties:
            false        
        properties:
            customerDirectContractMeteringServiceDIPID:
               $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-140-Customer-Direct-Contract-Metering-Service-DIP-ID'
               # updated DIN 689
            customerDirectContractMeteringServiceEffectiveToDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-145-Customer-Direct-Contract-Metering-Service-Effective-To-Date'
        required:
          - customerDirectContractMeteringServiceDIPID
          - customerDirectContractMeteringServiceEffectiveToDate
          
                
    B021: 
        description: DataService Cust Direct Set
        type: object
        additionalProperties:
            false        
        properties:
            customerDirectContractDataServiceDIPID:
               $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-138-Customer-Direct-Contract-Data-Service-DIP-ID'
            customerDirectContractDataServiceEffectiveToDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-146-Customer-Direct-Contract-Data-Service-Effective-To-Date'
        required:
          - customerDirectContractDataServiceDIPID
          - customerDirectContractDataServiceEffectiveToDate

    B022: 
        description: MPAN Address
        type: object
        additionalProperties:
            false        
        properties:
            meteringPointPostcode:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-010-Metering-Point-Postcode'
            addressLine1:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-001-Address-Line-1'
            addressLine2:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-002-Address-Line-2'
            addressLine3:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-003-Address-Line-3'
            addressLine4:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-004-Address-Line-4'
            addressLine5:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-005-Address-Line-5'
            addressLine6:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-006-Address-Line-6'
            addressLine7:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-007-Address-Line-7'
            addressLine8:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-008-Address-Line-8'
            addressLine9:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-009-Address-Line-9'
        required:
          - meteringPointPostcode
          - addressLine1
          - addressLine2
          - addressLine3
          - addressLine4
          - addressLine5
          - addressLine6
          - addressLine7
          - addressLine8
          - addressLine9


    B023: 
        description: MPAN Connection Info
        type: object
        additionalProperties:
            false        
        properties:
            connectionTypeIndicator:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-015-Connection-Type-Indicator'
            connectionTypeEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-016-Connection-Type-Indicator-Effective-From-Date'
# Removed fields below for V0.3
# added fields for v 1.1
            energyDirection:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-035-Energy-Direction'
            meteredIndicator:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-127-Metered-Indicator'
        required:
          - connectionTypeIndicator
          - connectionTypeEffectiveFromDate
          - energyDirection
          - meteredIndicator
        
    B024: 
        description: MPAN DUOS Tariff ID
        type: object
        additionalProperties:
            false        
        properties:
            DUOSTariffID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-128-DUOS-Tariff-ID'
            DUOSTariffIDEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-129-DUOS-Tariff-ID-Effective-From-Date'
        required:
          - DUOSTariffID
          - DUOSTariffIDEffectiveFromDate
          
    B025: 
        description: MPAN Energisation Info
        type: object
        properties:
            energisationStatus:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-033-Energisation-Status'
            energisationStatusEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-034-Energisation-Status-Effective-From-Date'
        required:
          - energisationStatus
          - energisationStatusEffectiveFromDate
        
    B026: 
        description: MPAN Segment Info
        type: object
        additionalProperties:
            false        
        properties:
            marketSegmentIndicator:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-050-Market-Segment-Indicator'
            marketSegmentIndicatorEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-051-Market-Segment-Indicator-Effective-From-Date'
        required:
          - marketSegmentIndicator
          - marketSegmentIndicatorEffectiveFromDate
                
    B027: 
        description: Assumed Annual Consumption
        type: object
        additionalProperties:
            false        
        properties:
            annualConsumption:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-148-Annual-Consumption'
            annualConsumptionEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-149-Annual-Consumption-Effective-From-Date'
            annualConsumptionQualityIndicator:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-150-Annual-Consumption-Quality-Indicator'
        required:
          - annualConsumption
          - annualConsumptionEffectiveFromDate
          - annualConsumptionQualityIndicator
                
    B028: 
        description: MPAN Dom Premise Indicator 
        type: object
        additionalProperties:
            false        
        properties:
            domesticPremiseIndicator:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-030-Domestic-Premise-Indicator'
            domesticPremiseIndicatorEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-032-Domestic-Premise-Indicator-Effective-From-Date'
   
    # Consent Removed from B028
    
    #        consentGranularity:
    #            $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-017-Consent-Granularity'
    #        consentGranularityEffectiveFromDate:
    #            $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-018-Consent-Granularity-Effective-From-Date'
        
        required:
          - domesticPremiseIndicator
          - domesticPremiseIndicatorEffectiveFromDate
    #      - consentGranularity
    #      - consentGranularityEffectiveFromDate
          
                
    B029: 
        description: DCC Enrolment Status
        type: object
        additionalProperties:
            false        
        properties:
            DCCServiceFlag:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-025-DCC-Service-Flag'
            DCCEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-026-DCC-Effective-From-Date'
        required:
          - DCCServiceFlag
          - DCCEffectiveFromDate
                
    B030: 
        description: IHD Info
        type: object
        additionalProperties:
            false        
        properties:
            IHDInstallStatus:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-137-IHD-Install-Status'
            IHDEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-136-IHD-Effective-From-Date'
                
        required:
           - IHDInstallStatus 
           - IHDEffectiveFromDate

    B031: 
        description: SMSO Info
        type: object
        additionalProperties:
            false        
        properties:
            SMSOID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-134-SMSO'
            SMSOEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-135-SMSO-Effective-From-Date'
        required:
            - SMSOID
            - SMSOEffectiveFromDate
                
    B032: 
        description: MPAN Legacy info
        type: object
        additionalProperties:
            false        
        properties:
            profileClass:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-122-Profile-Class'
            profileClassEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-124-Profile-Class-Effective-From-Date'
            SSC:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-123-SSC'
            SSCEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-125-SSC-Effective-From-Date'
        required:
        - profileClass
        - profileClassEffectiveFromDate
        - SSC
        - SSCEffectiveFromDate
            
    B033: 
        description: MPAN Meter info
        type: object
        additionalProperties:
            false        
        properties:
            meterID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-056-Meter-ID'
            modifiedMeterID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-060-Modified-Meter-ID'
            meterType:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-059-Meter-Type'
            manufacturersMakeAndType: #DIN-864
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-048-Manufacturers-Make-And-Type'
            ESMEGUID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-085-ESME-GUID'
            meterLocation:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-090-Meter-Location'
            numberOfDisplayedRegisterDigits:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-091-Number-Of-Displayed-Register-Digits'
            meterInstallationDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-057-Meter-Installation-Date'
        required:
          - meterID
          - modifiedMeterID
          - meterType
          - manufacturersMakeAndType # DIN-905
          - ESMEGUID
          - meterLocation
          - numberOfDisplayedRegisterDigits
          - meterInstallationDate
          
                
    B034: 
        description: MAP Info
        type: object
        additionalProperties:
            false        
        properties:
            meterAssetProviderID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-055-Meter-Asset-Provider-ID'
            meterAssetProviderEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-054-Meter-Asset-Provider-Effective-From-Date'
        required:
          - meterAssetProviderID
          - meterAssetProviderEffectiveFromDate
 
    B035: 
        description: Linked Import/Export MPAN Info
        type: object
        additionalProperties:
            false        
        properties:
            linkedImportExportMPAN:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-038-Linked-ImportExport-MPAN'
            linkedMPANEnergyDirection:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-151-Linked-MPAN-Energy-Direction'
            importExportMPANSupplierDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-801-ImportExport-MPAN-Supplier-DIP-ID'
            importExportMPANSupplierMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-212-ImportExport-MPAN-Supplier-MPID'
        required: 
          - linkedImportExportMPAN
          - linkedMPANEnergyDirection
          - importExportMPANSupplierDIPID
          - importExportMPANSupplierMPID
          
              
    B036: 
        description: Linked Import/Export Meter Info
        type: object
        additionalProperties:
            false        
        properties:
            meterID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-056-Meter-ID'
            meterType:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-059-Meter-Type'
            manufacturersMakeAndType: #DIN-864
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-048-Manufacturers-Make-And-Type'
            ESMEGUID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-085-ESME-GUID'
            meterLocation:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-090-Meter-Location'
            numberOfDisplayedRegisterDigits:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-091-Number-Of-Displayed-Register-Digits'
            meterInstallationDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-057-Meter-Installation-Date'
        required:
          - meterID
          - meterType
          - manufacturersMakeAndType  # DIN-905
          - ESMEGUID
          - meterLocation
          - numberOfDisplayedRegisterDigits
          - meterInstallationDate
          
    B037: 
        description: Linked Related MPAN Info
        type: object
        additionalProperties:
            false        
        properties:
            primaryMPAN:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-075-Primary-MPAN'
            secondaryMPAN:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-079-Secondary-MPAN'
        required:
          - primaryMPAN
          - secondaryMPAN
          
    B038: 
        description: Linked Related Meter Info
        type: object
        additionalProperties:
            false        
        properties:
            meterID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-056-Meter-ID'
            meterType:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-059-Meter-Type'
            manufacturersMakeAndType: #DIN-864
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-048-Manufacturers-Make-And-Type'
            ESMEGUID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-085-ESME-GUID'
            meterLocation:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-090-Meter-Location'
            numberOfDisplayedRegisterDigits:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-091-Number-Of-Displayed-Register-Digits'
            meterInstallationDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-057-Meter-Installation-Date'
        required:
          - meterID
          - meterType
          - manufacturersMakeAndType  # DIN-905
          - ESMEGUID
          - meterLocation
          - numberOfDisplayedRegisterDigits
          - meterInstallationDate


    B039: 
        description: Removed Meter Info
        type: object
        additionalProperties:
            false        
        properties:
            meterIDRemoved:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-053-Meter-ID-Removed'
            meterRemovalDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-058-Meter-Removal-Date'
        required:
          - meterIDRemoved
          - meterRemovalDate
                
    B040: 
        description: Failed Change to Energisation
        type: object
        additionalProperties:
            false        
        properties:
            failureEnergiseDeEnergiseReasonCode:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-097-Failure-Energise-De-Energise-Reason-Code'
            siteVisitCheckCode:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-096-Site-Visit-Check-Code'
            natureofMaintenanceEnergisationStatus:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-092-Nature-of-Maintenance-Energisation-Status'
            additionalInformationSiteVisit:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-093-Additional-Information-SiteVisit'
        required:
          - failureEnergiseDeEnergiseReasonCode
          - siteVisitCheckCode
          - natureofMaintenanceEnergisationStatus
          - additionalInformationSiteVisit
          
    B041: 
        description: Disconnection Info
        type: object
        additionalProperties:
            false        
        properties:
            disconnectionEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-027-Disconnection-Effective-From-Date'
            additionalInformation:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-120-Additional-Information'
        required:
          - disconnectionEffectiveFromDate
          - additionalInformation
          
    B042: 
        description: CSS De-Registration
        type: object
        additionalProperties:
            false        
        properties:
            CSSMPANDeRegistrationDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-077-CSS-RMP-DeActivation-Date'
        required:
          - CSSMPANDeRegistrationDate

    B043: 
        description: Settlement Impacted Parties
        type: object
        additionalProperties:
            false        
        properties:
            settlementImpactedDataServiceDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-155-Settlement-Impacted-Data-Service-DIP-ID'
            settlementImpactedSupplierDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-157-Settlement-Impacted-Supplier-DIP-ID'
        required:
          - settlementImpactedDataServiceDIPID
          - settlementImpactedSupplierDIPID
        
                
    B044: 
        description: Issuing Data Service
        type: object
        additionalProperties:
            false        
        properties:
            issuingDataServiceDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-845-Issuing-Data-Service-DIP-ID'

        required:
          - issuingDataServiceDIPID
          
    B045: 
        description: MQ ID
        type: object
        additionalProperties:
            false        
        properties:
            measurementQuantityID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-052-Measurement-Quantity-ID'
        required:
          - measurementQuantityID
          
    B046: ##
        description: Settlement Day
        type: object
        additionalProperties:
            false        
        properties:
            settlementDayDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-101-Settlement-Day-Date'
            periodDuration:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-081-Settlement-Period-Duration'
        required:
          - settlementDayDate
          - periodDuration

    B047: 
        description: Settlement Period Consumption Data
        type: object
        additionalProperties:
            false        
        properties:
#            settlementPeriodEffectiveToDateTime:
            sp:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-082-Settlement-Period-Effective-To-DateTime'
#           periodConsumptionValue:
            v:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-147-Period-Consumption-Value'
#           settlementPeriodQualityIndicator:
            q:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-083-Settlement-Period-Quality-Indicator'
#            estimationReasonCode:
            e:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-076-Estimation-Reason-Code'
#            supplierConsumptionAmendmentReasonCode:
            arc:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-166-Supplier-Consumption-Amendment-Reason-Code'
                
        required:
          - sp 
          - v
          - q
          - e
          - arc
          
        
    B048: 
    # B048 descrepancy between IF-013 & IF-016
        description: Settlement Period Consumption Defaulted Data
        type: object
        additionalProperties:
            false        
        properties:
            settlementPeriodEffectiveToDateTime:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-082-Settlement-Period-Effective-To-DateTime'
            defaultedSPConsumption:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-153-Defaulted-SP-Consumption'
            defaultLoadShapeFlag:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-154-Default-Load-Shape-Flag'
        required:
          - settlementPeriodEffectiveToDateTime
          - defaultedSPConsumption
          - defaultLoadShapeFlag

    B049: 
        description: Settlement Period Run Info
        type: object
        additionalProperties:
            false        
        properties:
            settlementRunExecutionDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-159-Settlement-Run-Execution-Date'
            settlementCode:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-160-Settlement-Code'
            runNumber:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-161-Run-Number'
        required:
          - settlementRunExecutionDate
          - settlementCode
          - runNumber  
          
    B050: 
        description: CCC Determination Data
        type: object
        additionalProperties:
            false        
        properties:
#            connectionTypeIndicator:
#                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-015-Connection-Type-Indicator'
#            energyDirection:
#                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-035-Energy-Direction'
#           above removed, DI-052 added 9/11
            measurementQuantityID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-052-Measurement-Quantity-ID'
            marketSegmentIndicator:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-050-Market-Segment-Indicator'
            domesticPremiseIndicator:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-030-Domestic-Premise-Indicator'
            consumptionComponentClassID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-300-Consumption-Component-Class-ID'            
            consumptionComponentIndicator:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-080-Consumption-Component-Indicator'
        required:
          - measurementQuantityID
          - marketSegmentIndicator
          - domesticPremiseIndicator
          - consumptionComponentClassID
          - consumptionComponentIndicator
          
    B051: 
        description: LS Criteria / Grouping
        type: object
        additionalProperties:
            false        
        properties:
            loadShapeGSPGroupID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-039-Load-Shape-GSP-Group-ID'
            connectionTypeIndicator:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-015-Connection-Type-Indicator'
            marketSegmentIndicator:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-050-Market-Segment-Indicator' 
            loadShapeDomesticPremiseIndicator:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-031-Load-Shape-Domestic-Premise-Indicator'
            measurementQuantityID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-052-Measurement-Quantity-ID'
     # annual loadshape total moved to B054
     #       annualLoadShapeTotal:
     #            $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-040-Annual-Load-Shape-Total'
        required:
          - loadShapeGSPGroupID
          - connectionTypeIndicator
          - marketSegmentIndicator
          - loadShapeDomesticPremiseIndicator
          - measurementQuantityID
     
          
    B052: 
        description: LS SP Info
        type: object
        additionalProperties:
            false        
        properties:
            sp:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-082-Settlement-Period-Effective-To-DateTime'
            loadShapePeriodValue:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-102-Load-Shape-Period-Value'
            defaultLoadShapeFlag:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-154-Default-Load-Shape-Flag'
            
        required:
          - sp
          - loadShapePeriodValue
          - defaultLoadShapeFlag
          
    B053: 
        description: LS Total Info
        type: object
        additionalProperties:
            false        
        properties:
            loadShapeDayTotal:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-046-Load-Shape-Day-Total'
            loadShapeDayPeakTotal:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-045-Load-Shape-Day-Peak-Total'
            loadShapeDayOffPeakTotal:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-044-Load-Shape-Day-Off-Peak-Total'
            loadShape7DayRollingTotal:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-043-Load-Shape-7-Day-Rolling-Total'
            loadShape7DayRollingPeakTotal:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-042-Load-Shape-7-Day-Rolling-Peak-Total'
            loadShape7DayRollingOffPeakTotal:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-041-Load-Shape-7-Day-Rolling-Off-Peak-Total'
        required:
          - loadShapeDayTotal
          - loadShapeDayPeakTotal
          - loadShapeDayOffPeakTotal
          - loadShape7DayRollingTotal
          - loadShape7DayRollingPeakTotal
          - loadShape7DayRollingOffPeakTotal

    B054: 
        description: LS Annual Consumption
        type: object
        additionalProperties:
            false        
        properties:
            annualLoadShapeTotal:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-040-Annual-Load-Shape-Total'
        required:
          - annualLoadShapeTotal
          
    B057: 
        description: Supplier Notifcation Info
        type: object
        additionalProperties:
            false        
        properties:
            supplierNotificationEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-100-Supplier-Notification-Effective-From-Date'
            supplierNotificationExpiryDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-098-Supplier-Notification-Expiry-Date'
            additionalInformation:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-120-Additional-Information'
        required:
          - supplierNotificationEffectiveFromDate
          - supplierNotificationExpiryDate
          - additionalInformation
        
    B058: 
        description: Supplier SNAC
        type: object
        additionalProperties:
            false        
        properties:
            supplierNominatedAnnualConsumption:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-152-Supplier-Nominated-Annual-Consumption'
        required:
          - supplierNominatedAnnualConsumption

    B059: 
        description: Annual Consumption
        type: object
        additionalProperties:
            false        
        properties:
            annualConsumption:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-148-Annual-Consumption'
            annualConsumptionEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-149-Annual-Consumption-Effective-From-Date'
            annualConsumptionQualityIndicator:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-150-Annual-Consumption-Quality-Indicator'
        required:
          - annualConsumption
          - annualConsumptionEffectiveFromDate
          - annualConsumptionQualityIndicator
        

    B060: 
        description: Registration Reminder Add Info
        type: object
        additionalProperties:
            false        
        properties:
            additionalInformation:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-120-Additional-Information'
        required:
          - additionalInformation

    B062: 
        description: Related Added MPAN
        type: object
        additionalProperties:
            false        
        properties:
            primaryMPAN:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-075-Primary-MPAN'
            secondaryMPAN:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-079-Secondary-MPAN'
        required:
          - primaryMPAN
          - secondaryMPAN

    B063: 
        description: Related Removed MPAN
        type: object
        additionalProperties:
            false        
        properties:
            MPANCore:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-063-MPAN-Core'
        required:
          - MPANCore

    B064: 
        description: Cumulative Read
        type: object
        additionalProperties:
            false        
        properties:
            meterID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-056-Meter-ID'
            cumulativeRegisterReading:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-088-Cumulative-Register-Reading'
            cumulativeRegisterReadingDateTime:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-089-Cumulative-Register-Reading-DateTime'
            readingMethod:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-094-Reading-Method'
            siteVisitCheckCode:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-096-Site-Visit-Check-Code'
        required:
          -  meterID
          -  cumulativeRegisterReading
          -  cumulativeRegisterReadingDateTime
          -  readingMethod
          -  siteVisitCheckCode



    B065: 
        description: Configurable Registers
        type: object
        additionalProperties:
            false        
        properties:
            meterID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-056-Meter-ID'
            configurableRegisterReadingDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-099-Configurable-Register-Reading-Date'
            configurableRegisterID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-103-Configurable-Register-ID'
            configurableRegisterReading:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-104-Configurable-Register-Reading'
        required:
            - meterID
            - configurableRegisterReadingDate
            - configurableRegisterID
            - configurableRegisterReading

# B066 swapped defintions 16/12/22
    B066:
      description: SDS MDR Outcome
      type: object
      additionalProperties:
            false        
      properties:
        assignedMDRDIPID:
            $ref:  'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-842-Assigned-MDR-DIP-ID'
        assignedMDRMPID:
            $ref:  'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-209-Assigned-MDR-MPID'
        assignedMDREffectiveFromDate:
            $ref:  'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-844-Assigned-MDR-Effective-From-Date'
        responseCode:
            $ref:  'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-979-Response-Code' 
        responseMessage:
            $ref:  'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-980-Status-Error-Messages' 

      required:
        - assignedMDRDIPID
        - assignedMDRMPID
        - assignedMDREffectiveFromDate
        - responseCode
        - responseMessage

# B067 added 05/04/22
    B067:
      description: Connection Type
      type: object
      additionalProperties:
            false        
      properties:
        connectionTypeIndicator:
            $ref:  'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-015-Connection-Type-Indicator'        
        connectionTypeEffectiveFromDate:
            $ref:  'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-016-Connection-Type-Indicator-Effective-From-Date'
      required:
        - connectionTypeIndicator
        - connectionTypeEffectiveFromDate
        

    B068:
      description: MPAN Consent Info 
      type: object
      additionalProperties:
            false        
      properties:
        consentGranularity:
            $ref:  'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-017-Consent-Granularity'        
        consentGranularityEffectiveFromDate:
            $ref:  'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-018-Consent-Granularity-Effective-From-Date'
      required:
        - consentGranularity
        - consentGranularityEffectiveFromDate
      
      
        
    B069:
      description: Supplier Advisory Notification Meter ID ( Mandatory for SN-RemoteEnabled and SN-RemoteDisabled)
      type: object
      additionalProperties:
            false        
      properties:
        meterID:
            $ref:  'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-056-Meter-ID'        
      required:
        - meterID
    
        

    B070: 
        description: Proposed MeteringService
        type: object
        additionalProperties:
            false        
        properties:
            proposedMeteringServiceDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-828-Proposed-Metering-Service-DIP-ID'
            proposedMeteringServiceMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-213-Proposed-Metering-Service-MPID'
            proposedMeteringServiceDIPEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-830-Proposed-Metering-Service-DIP-Effective-From-Date'
            contractReferenceMeteringService:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-019-Contract-Reference-Metering-Service'
            appointmentScenario:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-800-Appointment-Scenario'
        required:
          - proposedMeteringServiceDIPID
          - proposedMeteringServiceMPID
          - proposedMeteringServiceDIPEffectiveFromDate
          - contractReferenceMeteringService
          - appointmentScenario
          

    B071: 
        description: Proposed Data Service
        type: object
        additionalProperties:
              false        
        properties:
            proposedDataServiceDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-831-Proposed-Data-Service-DIP-ID'
            proposedDataServiceMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-214-Proposed-Data-Service-MPID'
            proposedDataServiceDIPEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-833-Proposed-Data-Service-DIP-Effective-From-Date'
            contractReferenceDataService:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-020-Contract-Reference-Data-Service'
            appointmentScenario:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-800-Appointment-Scenario'
            supplierNominatedMDRDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-834-Supplier-Nominated-MDR-DIP-ID'
            supplierNominatedMDRMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-215-Supplier-Nominated-MDR-MPID'
            supplierNominatedMDREffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-836-Supplier-Nominated-MDR-Effective-From-Date'
            supplierProposedConsentGranularity:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-838-Supplier-Proposed-Consent-Granularity'
            supplierProposedDomesticIndicator:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-837-Supplier-Proposed-Domestic-Indicator'
            traditionalFallBackReadFrequency:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-126-Traditional-Fall-Back-Read-Frequency'
        required:
            - proposedDataServiceDIPID
            - proposedDataServiceMPID
            - proposedDataServiceDIPEffectiveFromDate
            - contractReferenceDataService
            - appointmentScenario
            - supplierNominatedMDRDIPID
            - supplierNominatedMDRMPID
            - supplierNominatedMDREffectiveFromDate
            - supplierProposedConsentGranularity
            - supplierProposedDomesticIndicator
            - traditionalFallBackReadFrequency

    B072: 
        description: Incumbent MeteringService
        type: object
        additionalProperties:
            false        
        properties:
            incumbentMeteringServiceDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-807-Incumbent-Metering-Service-DIP-ID'
            incumbentMeteringServiceMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-217-Incumbent-Metering-Service-MPID'
        required:
          - incumbentMeteringServiceDIPID
          - incumbentMeteringServiceMPID
          
    B073: 
        description: Supplier Consumption Amendment Request
        type: object
        additionalProperties:
            false        
        properties:
            consumptionAmendmentSupplierReference:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-162-Consumption-Amendment-Supplier-Reference'
            consumptionAmendmentPeriodStartDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-163-Consumption-Amendment-Period-Start-Date'
            consumptionAmendmentPeriodEndDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-164-Consumption-Amendment-Period-End-Date'
            grossRevisedConsumption:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-165-Gross-Revised-Consumption'
            arc:       # supplierConsumptionAmendmentReasonCode:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-166-Supplier-Consumption-Amendment-Reason-Code' 
        required:
          - consumptionAmendmentSupplierReference
          - consumptionAmendmentPeriodStartDate
          - consumptionAmendmentPeriodEndDate
          - grossRevisedConsumption
          - arc
                
    B074:    
        description: MPAN Exiting Meter Info  
        type: object
        additionalProperties:
            false        
        properties:  
            meterID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-056-Meter-ID'
#            meteringPointPostcode:
#                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-010-Metering-Point-Postcode'
            meterType:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-059-Meter-Type'
            manufacturersMakeAndType: #DIN-864
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-048-Manufacturers-Make-And-Type'
            ESMEGUID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-085-ESME-GUID'
            meterLocation:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-090-Meter-Location'
            numberOfDisplayedRegisterDigits:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-091-Number-Of-Displayed-Register-Digits'
            meterInstallationDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-057-Meter-Installation-Date'
        required:
          - meterID
          - meterType
          - manufacturersMakeAndType  # DIN-905
          - ESMEGUID
          - meterLocation
          - numberOfDisplayedRegisterDigits
          - meterInstallationDate
          

    B075:    
      description: MPAN Exiting Meter Map Info  
      type: object
      additionalProperties:
            false        
      properties:  
            meterAssetProviderID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-055-Meter-Asset-Provider-ID'
            meterAssetProviderEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-054-Meter-Asset-Provider-Effective-From-Date'
      required:
        - meterAssetProviderID
        - meterAssetProviderEffectiveFromDate
        
# CR23 - 13/10/23 - Create New Block "B076 - MDR Cumulative Reading Information"

    B076:    
      description: MDR Cumulative Reading Information 
      type: object
      additionalProperties:
            false        
      properties:      
            meterID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-056-Meter-ID'
            cumulativeRegisterReading:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-088-Cumulative-Register-Reading'
            cumulativeRegisterReadingDateTime:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-089-Cumulative-Register-Reading-DateTime'

      required:
          -  meterID
          -  cumulativeRegisterReading
          -  cumulativeRegisterReadingDateTime

# CR23 - 18/10/23 - Create New Block "B077 - MDR Reference Date"

    B077:    
      description: MDR Reference Date
      type: object
      additionalProperties:
            false        
      properties:      
            MDRReferenceDateTime:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-196-MDR-Reference-DateTime'

      required:
          -  MDRReferenceDateTime

# CR23 - 29/02/2024 - Create New Block "B078 - Energy Direction"

    B078:    
      description: Eenrgy Direction 
      type: object
      additionalProperties:
            false        
      properties:      
            energyDirection:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-035-Energy-Direction'
      required:
          -  energyDirection



# new block 19/11/2022 for IF-050
# removed 13/04/23
#    B077:    
#      description: LDSO Maintained Site Technical Info
#      properties:  
#          supplyVoltage:
#              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-170-Supply-Voltage'
#          supplyCapacity:
#              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-171-Supply-Capacity'
#          numberOfPhases:
#              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-172-Number-Of-Phases'

#      required:
#          - supplyVoltage
#          - supplyCapacity
#          - numberOfPhases
          
# new block 19/11/2022 for IF-050
# removed 13/04/23
#    B078:    
#      description: Metering Service Maintained Site Technical Info
#      properties:  
#        CTRatio:
#              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-173-CT-Ratio'
#        CTClass:
#              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-174-CT-Class'
#        CTRating:
#              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-175-CT-Rating'
#        CTDetailsEffectiveFromDate:
#              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-176-CT-Details-Effective-From-Date'
#        VTRatio:      
#              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-177-VT-Ratio'
#        VTClass:
#              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-178-VT-Class'              
#        VTRating:
#              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-179-VT-Rating'
#        VTDetailsEffectiveFromDate:
#              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-180-VT-Details-Effective-From-Date'
#      required:
#          - CTRatio
#          - CTClass
#          - CTRating
#          - CTDetailsEffectiveFromDate
#          - VTRatio      
#          - VTClass
#          - VTRating
#          - VTDetailsEffectiveFromDate


              
# new block 19/11/2022 for IF-050
# new eff from fields di-168/169 added R4
    B079:    
      description: Meter Point Registration Statuses 
      type: object
      additionalProperties:
            false        
      properties:         
        RMPStatus:
              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-130-RMP-Status'
        RMPStatusEffectiveFromDate:
              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-167-RMPStatus-Effective-From-Date'
        MPStatus:
              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-131-MP-Status'
        MPStatusEffectiveFromDate:
              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-168-MPStatus-Effective-From-Date'
      
      required:
          - RMPStatus
          - RMPStatusEffectiveFromDate
          - MPStatus
          - MPStatusEffectiveFromDate

    B080:    
      description: Green Deal Information 
      type: object
      additionalProperties:
            false        
      properties:         
        greenDealEffectiveFromDate:
              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-111-Green-Deal-Effective-From-Date'
        greenDealEffectiveToDate:
              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-112-Green-Deal-Effective-To-Date'
      required:
          - greenDealEffectiveFromDate
          - greenDealEffectiveToDate

    B081:    
      description: Current Metering Service Details
      type: object
      additionalProperties:
            false        
      properties:         
        currentMeteringServiceDIPID:
              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-809-Current-Metering-Service-DIP-ID'
        currentMeteringServiceEffectiveFromDate:
              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-061-Metering-Service-Effective-From-Date'
      required:

          - currentMeteringServiceDIPID
          - currentMeteringServiceEffectiveFromDate

    B082:    
      description: Current Data Service Details
      type: object
      additionalProperties:
            false        
      properties:         
        currentDataServiceDIPID:
              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-811-Current-Data-Service-DIP-ID'
        currentDataServiceEffectiveFromDate:
              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-023-Data-Service-Effective-From-Date'
      required:
          - currentDataServiceDIPID
          - currentDataServiceEffectiveFromDate

#    B083:    
#      description: Current Supplier Details
#      additionalProperties:
#            false        
#      properties:         
#        currentSupplierDIPID:
#              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-218-Current-Supplier-DIP-ID'
#        currentSupplierEffectiveFromDate:
#              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-086-Supplier-Effective-From-Date'
#      required:
#          - currentSupplierDIPID
#          - currentSupplierEffectiveFromDate


# DIN-844

    B083:
      description: MDR End Date
      type: object
      additionalProperties:
            false        
      properties:         
        assignedMDRDIPID:
          $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-842-Assigned-MDR-DIP-ID'
        assignedMDRMPID:
          $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-209-Assigned-MDR-MPID'
        assignedMDREffectiveToDate:
          $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-850-MDR-Effective-To-Date'
      required:
        - assignedMDRDIPID
        - assignedMDRMPID
        - assignedMDREffectiveToDate
 
# DIN-844

    B084: 
        description: MDR Settlement Period Consumption Data
        type: object
        additionalProperties:
            false        
        properties:
#            settlementPeriodEffectiveToDateTime:
            sp:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-082-Settlement-Period-Effective-To-DateTime'
#           periodConsumptionValue:
            v:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-147-Period-Consumption-Value'
#           settlementPeriodQualityIndicator:
            q:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-083-Settlement-Period-Quality-Indicator'
        required:
          - sp 
          - v
          - q


    B090:    
      description: Subsidiary MPAN 
      type: object
      additionalProperties:
            false        
      properties:         
        subsidiaryMPAN:
          $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-074-Subsidiary-MPAN'
      required:
        - subsidiaryMPAN

    B091:    
      description: MPAN  Relationship Additional Infromation
      type: object
      properties:         
        additionalInformation:
          $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-120-Additional-Information'
      required:
        - additionalInformation

    B092: 
        description: SDS MDR Outcome
        type: object
        additionalProperties:
            false        
        properties:
            assignedMDRDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-842-Assigned-MDR-DIP-ID'
            assignedMDRMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-209-Assigned-MDR-MPID'
            assignedMDREffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-844-Assigned-MDR-Effective-From-Date'

        required:
            - assignedMDRDIPID
            - assignedMDRMPID
            - assignedMDREffectiveFromDate

    B093:
        description: Comms Hub Info
        type: object
        additionalProperties:
            false        
        properties:
            commsHubActivity:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-195-Comms-Hub-Activity'
            commsHubSerialNumber:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-190-Comms-Hub-Serial-Number'
            commsHubGUID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-191-Comms-Hub-GUID'
            GPFGasGUID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-192-GPF-Gas-GUID'
            commsHubInstallationDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-193-Comms-Hub-Installation-Date'
            commsHubFWVersion:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-194-Comms-Hub-FW-Version'
        required:
            - commsHubActivity
            - commsHubSerialNumber
            - commsHubGUID
            - GPFGasGUID
            - commsHubInstallationDate
            - commsHubFWVersion

    B094:
        description: Reverse Migration Notification
        type: object
        additionalProperties:
            false        
        required:
          - MHHSRegimeEndDate
        properties:
            MHHSRegimeEndDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-500-MHHS-Regime-End-Date'
        


    B095:
        description: Reverse Migration Incoming MOP Details
        type: object
        additionalProperties:
            false        
        required:
            - ReverseMigrationIncomingMOPMPID
            - ReverseMigrationIncomingMOPEffectiveFromDate
        properties:
            ReverseMigrationIncomingMOPMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-501-Reverse-Migration-Incoming-MOP-MPID'
            ReverseMigrationIncomingMOPEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-502-Reverse-Migration-Incoming-MOP-Effective-From-Date'

    B096:
        description: Reverse Migration Incoming DC Details
        type: object
        additionalProperties:
            false        
        required:
            - ReverseMigrationIncomingDCMPID
            - ReverseMigrationIncomingDCEffectiveFromDate
        properties:
            ReverseMigrationIncomingDCMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-503-Reverse-Migration-Incoming-DC-MPID'
            ReverseMigrationIncomingDCEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-504-Reverse-Migration-Incoming-DC-Effective-From-Date'

    B097:
        description: Offpeak Declaration 
        type: object
        additionalProperties:
            false        
        required:
            - offPeakDeclarationDate
            - offPeakDeclarationProportion
        properties:
            offPeakDeclarationDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-510-Offpeak-Declaration-Date'
            offPeakDeclarationProportion:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-511-Offpeak-Declaration-Proportion'

    # Added via DIN-788
    B098:
        description: Reconnection Date
        type: object
        additionalProperties:
            false        
        required:
            - reconnectionEffectiveFromDate
        properties:
            reconnectionEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-028-Reconnection-Effective-From-Date'



### nested block definitions ###

    B099:
      description: Response Block
      type: object
      additionalProperties:
            false
      required:
        - responseCode
        - responseMessages
      properties:
        responseCode:
            $ref:  'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-979-Response-Code' 
        responseMessages:
          description: Response message outcomes
          type: array
          items:
            $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.8#/components/schemas/DI-980-Status-Error-Messages'      
                



# Used in INF-014

    B900:
        description: MQID (B045) Settlement Day Consumption periods (B901)
        type: object
        additionalProperties:
            false        
        required:
          - MQID
          - settlementDayConsumptionPeriods
        properties:
          MQID:
            $ref: '#/components/schemas/B045'
          settlementDayConsumptionPeriods:
            type: array
            maxItems: 200
            items:
              $ref: '#/components/schemas/B901'

    B901:
        description: Settlement Day (B046) - SP consumption data (multiple child) block (B047)
        type: object
        additionalProperties:
            false        
        required:
            - settlementDay
            - consumptionPeriods
        properties:
          settlementDay:
            $ref: '#/components/schemas/B046'
          consumptionPeriods:
            type: array
            maxItems: 48
            items:
                $ref: '#/components/schemas/B047'

    B902:
        description: MQID (B045) Supplier Consumption Amendment Requests  (B073) #MHHS-DIN-357 Typo
        type: object
        additionalProperties:
            false        
        required:
          - MQID
          - supplierConsumptionAmendmentRequests
        properties:
          MQID:
            $ref: '#/components/schemas/B045'
          supplierConsumptionAmendmentRequests:
            type: array
            items:
              $ref: '#/components/schemas/B073'
                

# Used in INF-013
    B920:
        description: MQID (B045) Settlement Day Consumption periods with default (B901)
        type: object
        additionalProperties:
            false        
        required:
          - MQID
          - settlementDayConsumptionPeriods
        properties:
          MQID:
            $ref: '#/components/schemas/B050'
          settlementDayConsumptionPeriods:
            type: array
            items:
              $ref: '#/components/schemas/B922'   


    B922:
        description: Settlement Day (B046) and defaulted data (B048)
        type: object
        additionalProperties:
            false        
        required:
            - settlementDay
            - defaultedConsumptionPeriods
        properties:
          settlementDay:
             $ref: '#/components/schemas/B046'
          defaultedConsumptionPeriods:
             type: array
             items:
                 $ref: '#/components/schemas/B048'


# Used in IF-016

    B921:
        
        description: Settlement Day (B046) - UTC Period Cons B047 and defaulted data (B048)
        type: object
        additionalProperties:
            false        
        required:
          - settlementDay
          - consumptionPeriods
          - defaultedConsumptionPeriods
        properties:
          settlementDay:
            $ref: '#/components/schemas/B046'
          consumptionPeriods:
           type: array
           items:
               $ref: '#/components/schemas/B047'
          defaultedConsumptionPeriods:
            type: array
            items:
                $ref: '#/components/schemas/B048'



## LS parents

    B903:
        description: Load shaping  SP
        type: object
        additionalProperties:
            false        
        properties:
          settlementDay:
            $ref: '#/components/schemas/B046'
          LSGSettlementPeriods:
            type: array
            items:
                $ref: '#/components/schemas/B904'

    B912:
        description: Load shaping Totals
        type: object
        additionalProperties:
            false        
        properties:
          settlementDay:
            $ref: '#/components/schemas/B046'
          LSGTotals:
            type: array
            items:
                $ref: '#/components/schemas/B913'
##


## LS children

    B904:
        description: Load shaping child record SP
        type: object
        additionalProperties:
            false        
        properties:
          LSGroup:
            $ref: '#/components/schemas/B051'
          LSGroupSettlementPeriods:
            type: array
            items:
                $ref: '#/components/schemas/B052'

    B913:
        description: Load shaping child record Totals
        type: object
        additionalProperties:
            false        
        properties:
          LSGroup:
            $ref: '#/components/schemas/B051'
          LSAnnualConsumption:
            $ref: '#/components/schemas/B054'
          LSTTotals:
            type: array
            items:
                $ref: '#/components/schemas/B053'
##
                
                
    B905:
        description: PostUpdate Meter Listing
        type: object
        additionalProperties:
            false        
        properties:
          existingMeter: 
            $ref:  '#/components/schemas/B074'
          existingMAP: 
            $ref:  '#/components/schemas/B075'

# Two vairants of 906 - one where B034 is mandatory, the other its optional
    B906:
        description: Meter-Map History 
        type: object
        required:
            - existingMeter
            - historyMAP
        additionalProperties:
            false        
        properties:
          existingMeter: 
            $ref:  '#/components/schemas/B033'
          historyMAP:  
            type: array
            items:
              $ref:  '#/components/schemas/B034'

    B906a:
        description: Meter-Map History 
        type: object
        required:
            - existingMeter
        additionalProperties:
            false        
        properties:
          existingMeter: 
            $ref:  '#/components/schemas/B033'
          historyMAP:  
            type: array
            items:
              $ref:  '#/components/schemas/B034'

              
    B907:
        description: LinkedImpExp-MPAN-Meter-MAP
        type: object
        additionalProperties:
            false        
        properties:
          existingMeter: 
            $ref:  '#/components/schemas/B035'
          historyMAP: 
            type: array
            items:
              $ref:  '#/components/schemas/B910'


    B908:
        description: Related-MPAN-Meter-MAP
        type: object
        properties:
          existingMeter: 
            $ref:  '#/components/schemas/B037'
          historyMAP: 
            type: array
            items:
              $ref:  '#/components/schemas/B911'

    B910:
        description: Meter details - MAP history 
        type: object
        additionalProperties:
            false        
        properties:
          existingMeter: 
            $ref:  '#/components/schemas/B036'
          historyMAP: 
            type: array
            items:
              $ref:  '#/components/schemas/B075'

    B911:
        description: Related Meter details - MAP history 
        type: object
        additionalProperties:
            false        
        properties:
          existingMeter: 
            $ref:  '#/components/schemas/B038'
          historyMAP: 
            type: array
            items:
              $ref:  '#/components/schemas/B075'
              
    B941:
        description: MDR Settlement Day (B046) - SP consumption data (multiple child) block (B084)
        type: object
        additionalProperties:
            false        
        required:
            - settlementDay
            - MDRConsumptionPeriods
        properties:
          settlementDay:
            $ref: '#/components/schemas/B046'
          MDRConsumptionPeriods:
            type: array
            maxItems: 48
            items:
                $ref: '#/components/schemas/B084'

              

# ECS R blocks - moved to ECS-CommonBlocks module ##

# END #